package cn.cyh.queue_service.model.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.util.Map;

/**
 * 统计响应数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StatisticsResponse {
    
    /**
     * 统计日期
     */
    private LocalDate statDate;
    
    /**
     * 业务类型ID
     */
    private Long serviceTypeId;
    
    /**
     * 业务类型名称
     */
    private String serviceTypeName;
    
    /**
     * 窗口ID
     */
    private Long windowId;

    /**
     * 等待人数
     */
    private Integer waitingCount;
    
    /**
     * 窗口名称
     */
    private String windowName;
    
    /**
     * 操作员ID
     */
    private Long staffId;
    
    /**
     * 总票数
     */
    private Integer totalTickets;
    
    /**
     * 已完成数
     */
    private Integer completedCount;
    
    /**
     * 完成率
     */
    private Double completionRate;
    
    /**
     * 未到场数
     */
    private Integer noShowCount;
    
    /**
     * 未到场率
     */
    private Double noShowRate;
    
    /**
     * 平均等待时间(分钟)
     */
    private Integer avgWaitTime;
    
    /**
     * 平均服务时间(分钟)
     */
    private Integer avgServiceTime;
    
    /**
     * 高峰时段(小时)
     */
    private Integer peakHour;
    
    /**
     * 按小时分布的数据
     */
    private Map<Integer, Integer> hourlyDistribution;
} 